module.exports = (app, router, assert, utils) => {
    const Note = require('../../../model/Note');

    /**添加笔记 */
    router.post('/note/add', async (req, res) => {
        const data = req.body;
        console.log(data);
        //_id不为null的时候是修改
        if (data._id) {
            await Note.updateOne({ _id: data._id }, data, (err) => {
                utils.result(err, res, '修改参数错误', '修改成功');
            })
            return
        }
        const type_id = Number(data.type_id);
        const count = await Note.countDocuments({ title: data.title, type_id: type_id });
        assert(!count, 200, { code: 40002, message: '标题已存在' });
        await Note.create(data, (err) => {
            utils.result(err, res, '参数错误', '保存成功');
        })
    })
    /**删除 */
    router.get('/note/del', async (req, res) => {
        const params = req.query;
        await Note.deleteOne({ _id: params._id }, (err) => {
            utils.result(err, res, '删除失败', '删除成功');
        })
    })
    /**改 */
    /**查询列表*/
    router.get('/note/list', async (req, res) => {
        const params = req.query;
        //点击搜索type_id值不为空的时候
        if (params.type_id) {
            await Note.find({ title: { $regex: params.title }, type_id: params.type_id }, null, { sort: [{ 'updated': -1 }] }, (err, docs) => {
                utils.result(err, res, '参数错误', '查询成功', docs);
            })
            return
        }
        await Note.find({ title: { $regex: params.title } }, null, { sort: [{ 'updated': -1 }] }, (err, docs) => {
            utils.result(err, res, '参数错误', '查询成功', docs);
        })
    })
    /** */
}